package com.taobao.api.request;

import java.util.List;
import com.taobao.api.internal.mapping.ApiField;
import com.taobao.api.internal.mapping.ApiListField;
import com.taobao.api.TaobaoObject;
import java.util.Map;

import com.taobao.api.ApiRuleException;
import com.taobao.api.BaseTaobaoRequest;
import com.taobao.api.internal.util.TaobaoHashMap;
import com.taobao.api.internal.util.json.JSONWriter;
import com.taobao.api.response.OmniorderDddeliveryStatusGetResponse;

/**
 * TOP API: taobao.omniorder.dddelivery.status.get request
 * 
 * @author top auto create
 * @since 1.0, 2018.07.25
 */
public class OmniorderDddeliveryStatusGetRequest extends BaseTaobaoRequest<OmniorderDddeliveryStatusGetResponse> {
	
	

	/** 
	* 点点送配送状态查询参数，优先级“点点送运单号”>"订单id">"点点送运单号列表"
	 */
	private String param0;

	public void setParam0(String param0) {
		this.param0 = param0;
	}

	public void setParam0(DdDeliveryQuery param0) {
		this.param0 = new JSONWriter(false,true).write(param0);
	}

	public String getParam0() {
		return this.param0;
	}

	public String getApiMethodName() {
		return "taobao.omniorder.dddelivery.status.get";
	}

	public Map<String, String> getTextParams() {		
		TaobaoHashMap txtParams = new TaobaoHashMap();
		txtParams.put("param0", this.param0);
		if(this.udfParams != null) {
			txtParams.putAll(this.udfParams);
		}
		return txtParams;
	}

	public Class<OmniorderDddeliveryStatusGetResponse> getResponseClass() {
		return OmniorderDddeliveryStatusGetResponse.class;
	}

	public void check() throws ApiRuleException {
	}
	
	/**
 * 点点送配送状态查询参数，优先级“点点送运单号”>"订单id">"点点送运单号列表"
 *
 * @author top auto create
 * @since 1.0, null
 */
public static class DdDeliveryQuery extends TaobaoObject {

	private static final long serialVersionUID = 2135467419986383838L;

	/**
		 * 点点送运单号
		 */
		@ApiField("delivery_order_id")
		private Long deliveryOrderId;
		/**
		 * 点点送运单号列表
		 */
		@ApiListField("delivery_order_ids")
		@ApiField("number")
		private List<Long> deliveryOrderIds;
		/**
		 * 订单id
		 */
		@ApiField("trade_id")
		private Long tradeId;
	

	public Long getDeliveryOrderId() {
			return this.deliveryOrderId;
		}
		public void setDeliveryOrderId(Long deliveryOrderId) {
			this.deliveryOrderId = deliveryOrderId;
		}
		public List<Long> getDeliveryOrderIds() {
			return this.deliveryOrderIds;
		}
		public void setDeliveryOrderIds(List<Long> deliveryOrderIds) {
			this.deliveryOrderIds = deliveryOrderIds;
		}
		public Long getTradeId() {
			return this.tradeId;
		}
		public void setTradeId(Long tradeId) {
			this.tradeId = tradeId;
		}

}


}